import wx from 'weixin-js-sdk'
import {
	sUrl
} from '@/api/ancestra'
var AppId = ''
var Timestamp = ''
var Signature = ''
var Noncestr = ''

function GetSignature(callback) {
	// qryWxSignature 这个是调用后台获取签名的接口
	sUrl({
		url: window.location.href.split('#')[0]
	}).then((data) => {
		AppId = data.data.appId
		Timestamp = data.data.timestamp
		Signature = data.data.signature
		Noncestr = data.data.nonceStr
		console.log(AppId)
		console.log(Timestamp)
		console.log(Signature)
		console.log(Noncestr)
		wx.config({
			beta: true,
			debug: false,
			appId: AppId,
			timestamp: Timestamp,
			nonceStr: Noncestr,
			signature: Signature,
			// 这里是把所有的方法都写出来了 如果只需要一个方法可以只写一个
			jsApiList: [
				'checkJsApi',
				'onMenuShareTimeline',
				'onMenuShareAppMessage',
				'onMenuShareQQ',
				'onMenuShareWeibo',
				'hideMenuItems',
				'showMenuItems',
				'hideAllNonBaseMenuItem',
				'showAllNonBaseMenuItem',
				'translateVoice',
				'startRecord',
				'stopRecord',
				'onRecordEnd',
				'playVoice',
				'pauseVoice',
				'stopVoice',
				'uploadVoice',
				'downloadVoice',
				'chooseImage',
				'previewImage',
				'uploadImage',
				'downloadImage',
				'getNetworkType',
				'openLocation',
				'getLocation',
				'hideOptionMenu',
				'showOptionMenu',
				'closeWindow',
				'scanQRCode',
				'chooseWXPay',
				'openProductSpecificView',
				'addCard',
				'chooseCard',
				'openCard',
				'openWXDeviceLib',
				'closeWXDeviceLib',
				'configWXDeviceWiFi',
				'getWXDeviceInfos',
				'sendDataToWXDevice',
				'startScanWXDevice',
				'stopScanWXDevice',
				'connectWXDevice',
				'disconnectWXDevice',
				'getWXDeviceTicket',
				'WeixinJSBridgeReady',
				'onWXDeviceBindStateChange',
				'onWXDeviceStateChange',
				'onScanWXDeviceResult',
				'onReceiveDataFromWXDevice',
				'onWXDeviceBluetoothStateChange'
			]
		})
		wx.ready(function() {
			if (callback) callback()
		})
	})
}

// 点击支付
export const payment = (res) => {
	// GetSignature为common.js中的GetSignature内容
	GetSignature(() => {
		// wxpayPreOrder 为后台微信支付接口
		wx.chooseWXPay({
			// 支付签名时间戳，注意微信jssdk中的所有使用timestamp字段均为小写。
			// 但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符
			timestamp: res.timeStamp,
			// 支付签名随机串，不长于 32 位
			nonceStr: res.nonceStr,
			package: res.package, // 统一支付接口返回的prepay_id参数值，提交格式如：prepay_id=\*\*\*）
			signType: res.signType, // 签名方式，默认为'SHA1'，使用新版支付需传入'MD5'
			paySign: res.paySign, // 支付签名
			success: function(res) {
				uni.showToast({
					title: '支付成功',
					icon: 'none'
				})
				// 支付成功后的回调函数
				setTimeout(() => {
					uni.reLaunch({
						url: '/pages/index/index'
					})
				}, 1500)
			},
			fail: function(res) {
				console.log('支付失败')
			},
			complete: function(res) {
				console.log(res, 'complete')
			}
		})
	})
}